Collage display of image projects

ABSTRACT

Techniques are described for displaying projects of images as “collages”. Collages differ from conventional thumbnail displays of projects in that collages display an entire project as if the project were a single image. Consequently, collages better convey the characteristics of projects as a whole, while de-emphasizing the distinctiveness of individual images within the projects. When displayed as collages, side-by-side comparisons may be readily performed between projects as a whole. For example, a single display may include collages for multiple projects, thereby allowing viewers to quickly tell how the projects differ in a variety of ways, including but not limited to size of shoot or density of shoot, dominant color, mood, time of day, bracketed shots or bursts, location and subject matter. The content of the collage for a project is based on the individual images that belong to the project. However, details of the individual images on which the project image is based may not be readily discernible from the collage. In addition, not all individual images that belong to a project may be used in a collage. Techniques for selecting which individual images of a project to include in the project are also described.

CLAIM OF PRIORITY

This application is a continuation of and claims the benefit of priorityunder 35 U.S.C. §120 to Egan Schulz, U.S. patent application Ser. No.11/951,296, entitled “COLLAGE DISPLAY OF IMAGE PROJECTS,” filed on Dec.5, 2007, which is hereby incorporated herein in its entirety.

FIELD OF THE INVENTION

The present invention relates to digital images and, more specifically,to techniques for displaying projects of digital images.

BACKGROUND

A project is a set of digital images that are related in some manner. Aproject may include, for example, all photos taken on a particular day,on a particular location, or at a particular event. A project may alsobe all photos downloaded at the same time from a particular device, suchas a digital camera. The project(s) to which a digital image belongs istypically determined based on metadata associated with the image. Suchmetadata may explicitly establish an image-to-project mapping (e.g.photo X belongs to project Y), or may be used as a factor to indirectlydetermine the project for the image. For example, the day/time that aphoto was taken may be stored as metadata, and an image managementapplication may automatically establish all photos taken on a particularday as a project.

It is often desirable to compare digital images with other digitalimages. For example, when selecting which digital images from a photoshoot to include in a magazine, or brochure, it is important to be ableto look at the candidate photos together, to decide between them.Consequently, most image management applications include a feature thatallows digital images to be concurrently displayed to facilitateside-by-side comparisons between photos.

While comparing individual photos to individual photos is relativelyeasy, comparing entire projects to other entire projects is not sostraightforward. For example, many image management applications allowusers to view thumbnails of the images that belong to a project.However, even in views where the images of a project are displayed asthumbnails, the emphasis of the display is clearly to facilitateconsideration of individual photos, not the project as a whole. Forexample, the size of the thumbnails is typically chosen so that the usercan clearly discern the content of the individual images. Consequently,for projects that have large numbers of photos, only a small subset ofthe photos will fit on the screen at any given time. To see all thephotos in the project, the user has to scroll or page through manyscreens. To compare two large projects, the user has to first browsethrough several pages of thumbnails of the photos for one project, andthen browse through several pages of thumbnails of photos for the otherproject.

Further, such thumbnail views typically display information about theindividual photos adjacent to the thumbnails. The individual-photometadata displayed adjacent to the thumbnails typically includes thename of the image, and may also include information such as the date thephoto was taken, the resolution of the photo, the photographer, etc.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 is a block diagram illustrating concurrent displays of collagesfor projects, according to an embodiment of the invention;

FIG. 2 is a block diagram illustrating a technique for using a virtualloupe in conjunction with collages, according to an embodiment of theinvention;

FIG. 3 is a block diagram illustrating a technique for performing a zoomoperation using a virtual loupe to select multiple image components formagnification, according to an embodiment of the invention; and

FIG. 4 is a block diagram of a computer system upon which embodiments ofthe invention may be implemented.

FIG. 5 presents a flowchart illustrating a process for using the loupeon Collages.

FIG. 6 presents a flowchart illustrating a process for cropped view withscrubbing.

FIG. 7 presents a flowchart illustrating a process for cropped view withpaging.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Overview

Techniques are described herein for displaying projects of images as“collages”. Collages differ from conventional thumbnail displays ofprojects in that collages display an entire project as if the projectwere a single image. Consequently, collages better convey thecharacteristics of projects as a whole, while de-emphasizing thedistinctiveness of individual images within the projects.

The collage for a project is based on the individual images that belongto the project. However, details of the individual images on which theproject image is based may not be readily discernible from the collage.In addition, in some situations, not all individual images that belongto a project may be used in the collage of the project. Techniques forselecting which individual images of a project to include in the collageof the project shall be described in detail hereafter.

When displayed as collages, side-by-side comparisons may be readilyperformed between projects as a whole. For example, a single display mayinclude collages for multiple projects, thereby allowing viewers toquickly tell how the projects differ in a variety of ways, including butnot limited to size of shoot or density of shoot, dominant color, mood,time of day, bracketed shots or bursts, location and subject matter.Collages make it easier for users to quickly find projects for whichthey are searching, and to quickly find specific individual photoswithin those projects, as shall be described in greater detailhereafter.

Collage Image Quantities

The individual images that are reflected in a collage are referred toherein as collage components. The “image quantity” of a dimension of acollage refers to how many collage components are included in thecollage relative to the dimension. For example, a rectangular collagemade up of 20 rows of 30 images has a height image quantity of 20, and awidth image quantity of 30. The total image quantity of such a collageis 600.

Most digital images are rectangular. Therefore, to allow users to makeproject-to-project comparisons as easily as image-to-image comparisons,rectangular collages are generated, in one embodiment of the invention.One technique for generating a rectangular collage involves generating aW×H array of thumbnails, where W is the width image quantity and H isthe height image quantity. When square collages are desired, W=H. In oneembodiment, the actual values of W and H vary based on the number ofimages in the project for which the collage is being generated. Thus,the larger the number of images in the project, the larger the valuesfor W and H.

For example, assume that one project includes 25 images, and anotherproject includes 100 images. Further assume that square collages aredesired. Under these circumstances, the 25 image project may berepresented as a 5×5 collage, and the 100 image project may berepresented as a 10×10 collage. Thus, both collages will have the sameperipheral shape (squares), but the 10×10 collage will be composed ofsignificantly more images.

While it is preferable for the collages of all projects to have the sameperipheral shape, that shape need not be a square. For example, in oneembodiment, the peripheral shape of collages may be rectangles in whichthe W=2H. In such an embodiment, an 18 image project may be representedby a 6×3 collage, and a 98 image project may be represented by a 14×7collage.

In some embodiments, the peripheral shapes of collages may result in“missing components”. For example, when the peripheral shape of thecollages is a square, some projects may not have a perfect square numberof images. Under these conditions, the last row of the collage may beincomplete. For example, if a project with 24 images is shown as asquare collage, the collage may include four rows of 5 images, and onerow of four images. The bottom-right corner of the collage (where thetwenty-fifth image would have been displayed) may simply be empty.

An image management application may provide user interface controls thatallow users to select the peripheral shape of collages. For example, theuser interface controls may provide options for displaying squarecollages, rectangular collages where height is greater than width, andrectangular collages where width is greater than height. Other collageshapes, such as circular or X-shaped collages, are also possible. Theimage management application determines the image quantity for eachdimensions of each collage in a manner that ensures that the resultingin collage has the selected peripheral shape.

Collage Pixel Resolutions

The image quantities of the dimensions of a collage dictate how manycollage components are in the collage, but do not necessarily determinethe actual display size (pixel resolution) of the collage. The pixelresolution of a collage is also affected by the display size of thecollage components of which the collage is composed.

In one embodiment, the pixel size of collage components is the sameacross all collages, regardless of the image quantities of thedimensions of the collages. For example, collage components of allcollages may be displayed as 32 pixel×32 pixel images. In such anembodiment, the pixel resolutions of a collage will vary based on theimage quantities of the dimensions of the collage. Thus, the pixelresolution of collages for small projects may be very small, while thepixel resolution for collages for large projects may be enormous.

While it is desirable for collages to visually reflect the number ofimages within the project, it may be cumbersome to work with collages ofvastly different pixel resolutions. Therefore, in one embodiment, ratherthan have the pixel resolution of collage components be uniform acrossall collages, the pixel resolution of the collage components isinversely proportional to the image quantities of the dimensions of thecollage. Thus, the more collage components a collage has, the smallerthe dimensions of each of those collage components.

In one embodiment, the pixel resolution of the collage components ofeach collage is selected in a manner that results in all collages havingthe same pixel resolution, regardless of the image quantities of theirdimensions. In such an embodiment, the relative number of images that aproject has is clearly discernible by the size of the collage componentsof which the collage is composed. Further, the fact that all collageshave the same size and shape facilitates the concurrent display ofmultiple collages, and makes side-by-side comparisons easier.

FIG. 1 is a block diagram depicting three collages 102, 104 and 106generated according to an embodiment of the invention. The imagequantities of collage 102 are 5×5. The image quantities of collage 104are 10×10. The image quantities of collage 106 are 15×15. Despite thesedifferences in image quantities, the pixel resolution of the collages isthe same for all three collages 102, 104 and 106. This pixel resolutionequality is achieved by displaying relatively smaller components forcollages that have more components, and relatively larger components forcollages that have fewer components.

According to one embodiment, the collages of multiple projects areconcurrently displayed in a manner that allows the user to easilydetermine which images belong to which collages. For example, in theembodiment illustrated in FIG. 1, the boundaries between images thatbelong to a collage are significantly smaller than the boundariesbetween collages. In other embodiments, the boundaries between collagesmay be visually distinguished in other ways. For example, the boundariesbetween collages may be one color, while the boundaries between imageswithin the same collage may be another color.

Changing the Pixel Resolutions of a Collage

In one embodiment, all collages are initially displayed at the samepixel resolution, such as 160 pixels by 160 pixels, regardless of theimage quantities of their dimensions. The pixel resolutions of collagecomponents are adjusted to achieve the desired collage pixel resolution.Thus, the pixel resolutions of the components of collages with manycomponents will be small, while the pixel resolutions of the componentsof collages with few components will be relatively large.

According to one embodiment, an image management application providesvarious features to allow users to select or change the pixel resolutionof a collage. For example, in one embodiment, user interface controlsare provided to allow users to select the pixel resolution of collagesfrom a plurality of available collage pixel resolution options. Theavailable dimensions may range, for example, from 128×128 pixels to241×241 pixels.

In one embodiment, user interface controls are also provided forresizing collages in a manner similar to how individual images may beresized. For example, a user may click and drag on the border of acollage to grow or shrink the collage image. In response to user inputreceived through such user controls, the image management applicationincreases or decreases the pixel resolution of the collage components,thereby increasing or decreasing the pixel resolution of the collageitself.

The image management application may impose certain limits on how a usermay resize a collage. For example, in one embodiment, (a) collagecomponents may never be reduced to fewer than 4 pixels by 4 pixels, and(b) the border between the collage components is never less than onepixel. In such an embodiment, the total size of any collage nevershrinks below 5N+1 by 5M+1, where W and H represent the dimensions ofthe collage in terms of components. In such an embodiment, a projectwith 1024 images would produce a 32×32 collage. When shown at thesmallest allowed pixel resolution, such a collage would result in a161×161 pixel square.

Collage Component Borders

According to one embodiment, collage components are separated from eachother in a manner that allows individual-image boundaries to be readilyperceived. Such borders may, for example, simply be a one-pixel-wideline of a particular color, such as black.

Preferably, information about the individual images of which a collageis composed is not displayed near the collage components themselves.Such information would detract from the informational content of thecollage itself. As mentioned above, such informational content mayinclude, but is not limited to: the size of a project, the density ofthe project, the dominant color of the project, the mood of the project,the time of day of the project, bracketed shots or bursts within theproject, location of the project, and general subject matter of theproject.

Selecting Collage Components

In one embodiment, all images that belong to a project are used ascollage components for the collage of the project. For example, theproject(s) to which a digital image belongs can determined based onmetadata associated with the image. Such metadata may explicitlyestablish an image-to-project mapping (e.g. photo X belongs to projectY), or may be used as a factor to indirectly determine the project forthe image. For example, the day/time that a photo was taken may bestored as metadata, and an image management application mayautomatically establish all photos taken on a particular day as aproject (FIG. 5, step 502; FIG. 6, step 602; FIG. 7, step 702). However,such an embodiment will often result in collages that do not conform toa desired peripheral shape. For example, assume that the desiredperipheral shape is a square, and that a project has 27 photos. Underthese circumstances, a 6×6 collage would have nine extra imagepositions. If the nine extra image positions are left blank, then thecollage would not look exactly square. On the other hand, a 5×5 collagewould leave out two of photos. If the two extra photos are included in asixth row, then peripheral shape will not be square.

Another disadvantage of an embodiment that uses all images of a projectto create the collage for the project is that some projects may have somany images that using all images will result in collage components thatare too small to be useful (FIG. 5, step 504; FIG. 6, step 604; FIG. 7,step 704). For example, assuming that the collage pixel resolutions are160×160, collages with more than 900 images (e.g. 30×30 collages) tendto be too dense to effectively convey some of the characteristics of theproject. For example, a project with 1600 images yields a 40×40 imagesquare collage which is too dense to be effectively displayed in a160×160 pixel region. Thus, it may be desirable to generate a collagethat includes less than all of the images of the project.

To maintain a specified peripheral shape and some minimum pixel size forthe collage components, embodiments are provided in which not all imagesthat belong to a project are used in the collage of the project (FIG. 5,step 504; FIG. 6, step 604; FIG. 7, step 704). In such embodiments, theimage management application includes logic for selecting which imageswithin each project to use as collage components for the collage of theproject. The mechanisms for selecting which images to include in acollage may vary from implementation to implementation, and include acropping mechanism, a formula mechanism, a cropped view with scrubbingmechanism and a cropped view with paging mechanism, each of which shallbe described in greater detail hereafter.

Selection Through Cropping

Selection through cropping involves selecting the first N images in aproject to be the collage components for the project, where N is highestnumber of images that (1) will achieve the desired peripheral collageshape, and (2) results in collage components that are not too small(FIG. 5, step 504; FIG. 6, step 604; FIG. 7, step 704). For example,assume that collages are to be displayed as N×N squares, and that 30×30is the maximum acceptable density for the collages (FIG. 5, step 506;FIG. 6, step 606; FIG. 7, step 706). Assume further that a user hasrequested the concurrent display of collages for three projects A, B andC which have 70, 200 and 2000 images respectively. Under theseconditions, the image quantities of the collage for project A would be8×8, formed of the first 64 images in project A. The image quantities ofthe collage for project B would be 14×14, formed of the first 196 imagesin project B. Finally, the image quantities of the collage for project Cwould be 30×30, formed of the first 900 images in project C.

Selection through cropping has the benefit that it retains all thebracket shots and perceived “story” of a project for what is visible inthe collage. However, the greater the number of images that wereexcluded from the collage, the smaller the percentage of the projectthat the collage represents. For example, for project C, the entiresecond half of the project is not reflected in the 30×30 collage at all.

Selection Through Formula

Selection through formula involves excluding the same number of imagesfrom the collage as cropping. However, selection through formula doesnot simply include the first N images, and exclude the rest. Instead,the images that are included in the collage by selection through formulaare evenly spread throughout the project (FIG. 5, step 504; FIG. 6, step604; FIG. 7, step 704).

For example, assume that 25 images are to be used to make a 5×5 collagefor a project that includes 30 images. Rather than select the first 25images for inclusion, the image management application may skip every6^(th) image. Thus, the collage would include images 1-5, 7-11, 13-17,19-23 and 25-29.

For projects that have vastly more images than the maximum imagequantity size will allow, the number of skipped images will be greaterthan the number of images that are not skipped. For example, if themaximum image quantity size for collages is 30×30, and a projectincludes 2700 images, every third image in the project would be selectedfor inclusion, and two out of every three images would be skipped.

Selection through formula is beneficial because the user always sees atleast some images from the whole project. However, many of thecharacteristics that make collages easy to recognize, such as bracketedshots, become more and more compromised as the number of “skipped”images increases.

Cropped View with Scrubbing

Cropped view with scrubbing (FIG. 6) involves generating a collage thatis larger than the maximum desired collage pixel resolutions (i.e. an“oversized collage”), and then only displaying a subset of the oversizedcollage at any given time (606). Thus, the view is cropped, but theactual collage is not. For example, assume that a project has 1600images, but 30×30 are the maximum collage image quantities. Under thesecircumstances, the image management application may actually generate a30×54 collage (with the last row only partially filled), but only showthe top thirty rows of the collage. The user may then view the otherportions of the 30×54 collage by operating user interface controls.

For example, user interface logic may be provided to allow the user to“scrub” (click and drag) an oversized collage. In response to user input(608) that scrubs an oversized collage in a particular direction, thevisible portion of the oversized collage will move in that direction. Asa result of the movement, part of the oversized collage will cease to bedisplayed, and part of the oversized collage that was previously hiddenwill be displayed (610).

For example, assume that a 30×30 subset of a 30×54 oversized collage iscurrently displayed (606). Assume that a user scrubs the oversizedcollage up (608). As a result, the original 30×30 subset will move up,and the topmost row of collage components will become hidden (610).However, a new row of collage components will appear to the below ofwhat was previously the lowest visible row. Thus, the user will continueto see only a 30×30 subset of the 30×54 collage, but through user inputthe user determines what subset of the collage is displayed (610).

According to one embodiment, the cropped view with scrubbing techniquemakes a masked window out of the portion of the screen occupied by thecollage. Thus, if the pixel resolutions of collages is set to be160×160, then the 160×160 pixel square occupied by each collage is amasked window that a user can scrub to see different portions ofcollages that are actually larger than 160×160 (610).

Cropped View with Paging

Cropped view with paging (FIG. 7) is similar to cropped view withscrubbing (FIG. 6), except that different user input is used to see thehidden portions of an oversized collage. With scrubbing, the user input(608) “moves” the displayed portion of an oversized collage to revealother portions of the oversized collage (610). In cropped view withpaging, a user interface control is provided that allows a user totransition to another “page” of an oversized collage, thereby replacingthe currently-displayed portion of the oversized collage with thedisplay of another portion. In one embodiment, a single click (708) onan oversized collage causes a different page of the collage to bedisplayed (710). In another embodiment, a small paging control may bedisplayed on a collage in response to the user “rolling over” thecollage. The user may then click (708) on the control to cause adifferent page of the oversized collage to be displayed (710).

User-Specified Image Quantities

According to one embodiment, an image management application providesusers the ability to specify the collage image quantities of eachcollage. For example, slider controls may be provided for changing theimage quantities of a collage without affecting the pixel resolution ofthe collage. When a thumb control is moved to one end of the slidercontrol, a minimum number (e.g. two or one) of images are used togenerate the collage. When the thumb control is moved to the other endof the slider control, all of the images that belong to the project areused to generate the collage for the project. Since the pixel resolutionof the collage is not being changed, the pixel resolution of the collagecomponents is reduced as the number of collage components increases.

When the thumb control is at a point between the two ends of the slidercontrol, the image management application generates the collage based ona subset of images. The number of images used to generate the collage isbased on the total number of images in the project and the position ofthe thumb along the slider. For example, if a project has 200 images,and the thumb control is moved to the middle of the slider control, thenthe collage may be generated based on 100 images.

When image quantities are specified by a user in this manner, any of thevarious techniques described above may be used to determine which imagesto include in the collage. For example, if 100 of 200 images are to beused, then the cropping technique may be used to select the first 100images of the project. Alternatively, the selection through formulatechnique may be used to select 100 images by skipping every other imageof the 200 images.

Combining Collages and Events

When the formula technique has been used to generate a collage based ona subset of the images in a project, there will typically be images that(1) are not in the collage, and (b) are adjacent, within the project, toan image that is in the collage. According to one embodiment, suchimages may be easily accessed through the collage interface by treatingthe image that is in the collage as a representative image of an“event”.

For example, in one embodiment, as a user enters user input to skim overthe representative image, the image management software visually “flipsthrough” the images that are represented, within the collage, by therepresentative image. In this context, the images represented by therepresentative image are all images that precede or follow therepresentative image in the project, but that are not themselves shownin the collage.

Various techniques may be used for visually flipping through the imagesthat are represented, within the collage, by a representative image. Forexample, an image in a collage may effectively represent a series offive images (e.g. where four of the five images were “skipped” ingenerating the collage). In one embodiment, when the user positions apointer over the left edge of the representative image, the first of thefive images image is temporarily displayed in place of therepresentative image. As the user moves the pointer from the left edgeof the image to the right edge of the image, the image changes to thesecond, third, fourth, and then fifth represented image. In anotherembodiment, the representative image itself continues to be displayedwithin the collage, but another portion of the screen flips through adisplay of the represented images, in response to the user moving thepointer across the face of the representative image.

Using the Loupe on Collages

Digital images may be shown on a display at various levels ofmagnification. For example, a digital image may be shown at a reducedresolution relative to the original resolution, such that a viewer ofthe reduced resolution digital image cannot determine details that areapparent to a viewer of the digital image at the original resolution. Toassist a viewer of the reduced resolution digital image that is renderedon a display, a software application may enable the viewer to view amagnified portion of the digital image (FIG. 5).

Some image management applications allow users to view images atdifferent level of magnification using a virtual loupe. One techniquefor implementing a virtual loupe is described in U.S. patent applicationSer. No. 10/960,339, entitled “Viewing Digital Images On A Display UsingA Virtual Loupe”, the contents of which are incorporated herein byreference.

A virtual loupe may include one region (a “selection region”) that isused for selecting what portion of an image to magnify, and anotherregion (a “display region”) for showing the selected portion at somespecified level of magnification. Typically, the image managementapplication includes logic for moving the selection region in responseto user input. The display region may move along with the selectionregion, or may remain at a fixed position on the display screen.

According to one embodiment, a virtual loupe may be used in combinationwith a collage display to see the images that correspond to collagecomponents in greater detail (FIG. 5). For example, when the selectionregion of a virtual loupe is placed over a collage component of acollage, the image management application determines which image, withinthe project associated with the collage, corresponds to the selectedcollage component (508). The image management application furtherdetermines which portion of that image is actually selected by theloupe. The image management application then displays (506), within thedisplay region of the loupe, a magnified version of the selected portionof the selected collage component (510).

In one embodiment, the selection portion of the loupe is designed toselect one or more entire collage components (508). In such anembodiment, the display region displays magnified versions of all imagesselected by the selection region (510). For example, FIG. 2 illustratesen embodiment in which the selection region 202 is a square sized tocover a single collage component. The collage component currentlyselected by the selection region is displayed in greater detail in thedisplay region 204.

Referring to FIG. 3, the selection region 302 is a square sized toselect a three-by-three array of collage components. The three-by-threearray of collage components currently selected by the selection regionis displayed in the display region 304. Preferably, the images thusselected are displayed in the same arrangement in the display region 204as their arrangement within the collage itself (508).

According to one embodiment, controls are provided that allow users to“zoom” the virtual loupe when viewing components of a collage. Underthese circumstances, zooming the virtual loupe has the effect ofincreasing or decreasing the size of the selection area. Increasing thesize of the selection area causes the loupe to select more collagecomponents. Selecting more components, in turn, causes more images to bedisplayed in the display region. To display more images in the displayregion, the size of the magnified images may have to be reduced (510).

Conversely, decreasing the size of the selection area causes the loupeto select fewer collage components. Selecting fewer components causesfewer images to be displayed in the display region. Because fewer imagesare displayed, the images can be displayed at greater levels ofmagnification (510).

According to one embodiment, double-clicking a component of a collage,whether or not the component is currently selected by a loupe, willcause the image that corresponds to the component to be opened in animage viewer and/or editor. Allowing individual images to be directlyselected and opened from the collage display (which may include manycollages), allows user to quickly navigate from a view that containspotentially thousands of photos, to a view that contains a singleselected photo.

Hardware Overview

FIG. 4 is a block diagram that illustrates a computer system 400 uponwhich an embodiment of the invention may be implemented. Computer system400 includes a bus 402 or other communication mechanism forcommunicating information, and a processor 404 coupled with bus 402 forprocessing information. Computer system 400 also includes a main memory406, such as a random access memory (RAM) or other dynamic storagedevice, coupled to bus 402 for storing information and instructions tobe executed by processor 404. Main memory 406 also may be used forstoring temporary variables or other intermediate information duringexecution of instructions to be executed by processor 404. Computersystem 400 further includes a read only memory (ROM) 408 or other staticstorage device coupled to bus 402 for storing static information andinstructions for processor 404. A storage device 410, such as a magneticdisk or optical disk, is provided and coupled to bus 402 for storinginformation and instructions.

Computer system 400 may be coupled via bus 402 to a display 412, such asa cathode ray tube (CRT), for displaying information to a computer user.An input device 414, including alphanumeric and other keys, is coupledto bus 402 for communicating information and command selections toprocessor 404. Another type of user input device is cursor control 416,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 404 and forcontrolling cursor movement on display 412. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

The invention is related to the use of computer system 400 forimplementing the techniques described herein. According to oneembodiment of the invention, those techniques are performed by computersystem 400 in response to processor 404 executing one or more sequencesof one or more instructions contained in main memory 406. Suchinstructions may be read into main memory 406 from anothercomputer-readable medium, such as storage device 410. Execution of thesequences of instructions contained in main memory 406 causes processor404 to perform the process steps described herein. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement the invention. Thus,embodiments of the invention are not limited to any specific combinationof hardware circuitry and software.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing data that causes a machine to operationin a specific fashion. In an embodiment implemented using computersystem 400, various computer-readable media are involved, for example,in providing instructions to processor 404 for execution. Such a mediummay take many forms, including but not limited to storage media andtransmission media. Storage media includes both non-volatile media andvolatile media. Non-volatile media includes, for example, optical ormagnetic disks, such as storage device 410. Volatile media includesdynamic memory, such as main memory 406. Transmission media includescoaxial cables, copper wire and fiber optics, including the wires thatcomprise bus 402. Transmission media can also take the form of acousticor light waves, such as those generated during radio-wave and infra-reddata communications. All such media must be tangible to enable theinstructions carried by the media to be detected by a physical mechanismthat reads the instructions into a machine.

Common forms of computer-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punchcards, papertape, anyother physical medium with patterns of holes, a RAM, a PROM, and EPROM,a FLASH-EPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to processor 404 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 400 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 402. Bus 402 carries the data tomain memory 406, from which processor 404 retrieves and executes theinstructions. The instructions received by main memory 406 mayoptionally be stored on storage device 410 either before or afterexecution by processor 404.

Computer system 400 also includes a communication interface 418 coupledto bus 402. Communication interface 418 provides a two-way datacommunication coupling to a network link 420 that is connected to alocal network 422. For example, communication interface 418 may be anintegrated services digital network (ISDN) card or a modem to provide adata communication connection to a corresponding type of telephone line.As another example, communication interface 418 may be a local areanetwork (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 418 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 420 typically provides data communication through one ormore networks to other data devices. For example, network link 420 mayprovide a connection through local network 422 to a host computer 424 orto data equipment operated by an Internet Service Provider (ISP) 426.ISP 426 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 428. Local network 422 and Internet 428 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 420and through communication interface 418, which carry the digital data toand from computer system 400, are exemplary forms of carrier wavestransporting the information.

Computer system 400 can send messages and receive data, includingprogram code, through the network(s), network link 420 and communicationinterface 418. In the Internet example, a server 430 might transmit arequested code for an application program through Internet 428, ISP 426,local network 422 and communication interface 418.

The received code may be executed by processor 404 as it is received,and/or stored in storage device 410, or other non-volatile storage forlater execution. In this manner, computer system 400 may obtainapplication code in the form of a carrier wave.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or attribute that is not expressly recited in a claim shouldlimit the scope of such claim in any way. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense.

What is claimed is:
 1. A method for displaying images on a computersystem, the method comprising the computer-executed steps of:determining which images from a plurality of images belong to a project;of the images that belong to the project, selecting a subset of imagesto be included in a collage for the project; generating the collage forthe project based on the selected subset of images, wherein eachindividual component image in the collage has a first pixel resolution;displaying the collage for the project based on a display of thecomputer system; receiving a selection input indicating a selectionregion; and in response to detecting that the selection region selects aplurality of images within the collage, displaying a magnified depictionof the plurality of images with fewer component images on the display ofthe computer system, the displayed component images having a greaterpixel resolution than the first pixel resolution.
 2. The method of claim1 further comprising the steps of: receiving a user input; and inresponse to the user input, moving the collage in a particular directionthereby causing (a) at least some of said images in said subset ofimages to cease to be displayed as part of said collage, and (b) atleast some of the images, of the project, that are not in said subset tobe displayed as part of said collage.
 3. The method of claim 1 furthercomprising the steps of: receiving a user input; and in response to theuser input, (a) ceasing to display the collage composed of the firstsubset of images; and (b) displaying a collage that is composed of asecond subset of images of the project, wherein the second subset isdifferent from the first subset.
 4. The method of claim 1, wherein theplurality of images belonging to the project are related by a time, alocation, or an event.
 5. The method of claim 1, wherein each image inthe plurality of images is a representation of an individual image, theindividual image having a greater pixel resolution than the componentimage.
 6. The method of claim 1, wherein the first pixel resolution ofeach component image in each collage is identical, and selected suchthat all component images in the plurality of component images have thesame pixel resolution, regardless of the number of component images ineach collage.
 7. A method for displaying digital images on a computersystem, comprising the computer-executed steps of: displaying aplurality of collages on a display of the computer system, each collageincluding a plurality of component images, and each component image ineach collage having an identical pixel resolution; receiving a userinput; and in response to the user input, moving the plurality ofcollages in a particular direction thereby causing at least some of thecomponent images in at least one of the plurality of collages to ceaseto be displayed, and at least some component images that are not visibleto be displayed as part of another one of the plurality of collages. 8.The method of claim 7, wherein each component image in the plurality ofcomponent images is a representation of an individual image, theindividual image having a greater pixel resolution than the componentimage.
 9. The method of claim 7, wherein each collage in the pluralityof collages corresponds to a separate project, each project having aplurality of individual images represented by component images, theplurality of individual images in each project related by a time, alocation, or an event.
 10. The method of claim 7, wherein identicalpixel resolution is selected such that all component images in theplurality of component images have the same size, regardless of thenumber of component images in each collage.
 11. The method of claim 7,further comprising the steps of: receiving a selection input thatincludes a selection of an individual component image of an individualcollage in the plurality of collages; and in response to receiving theselection of the individual component image, displaying the individualcollage with fewer component images on the display of the computersystem, the displayed component images having a greater pixel resolutionthan the identical pixel resolution.
 12. A method for displaying digitalimages on a computer system, comprising the computer-executed steps of:displaying a plurality of collages on a display of the computer system,each collage including a plurality of component images, and eachcomponent image in each collage having an identical pixel resolution;receiving a user input; and in response to the user input, ceasing todisplay a first collage composed of a first subset of component imagesfrom a project; and displaying a second collage that is composed of asecond subset of images of the project, wherein the second subset isdifferent from the first subset; wherein each collage in the pluralityof collages corresponds to a separate project, each project having aplurality of digital images represented by the plurality of componentimages, the plurality of digital images in each project related by time,location, or an event.
 13. The method of claim 12, wherein eachcomponent image in the plurality of component images is a representationof an individual image, the individual image having a greater pixelresolution than the component image.
 14. The method of claim 12, whereineach collage in the plurality of collages corresponds to a separateproject, each project having a plurality of individual imagesrepresented by component images, the plurality of individual images ineach project related by a time, a location, or an event.
 15. The methodof claim 12, wherein the identical pixel resolution is selected suchthat all component images in the plurality of component images have thesame size, regardless of the number of component images in each collage.16. The method of claim 12, further comprising the steps of: receiving aselection input that includes a selection of an individual componentimage of the second collage; and in response to receiving the selectionof the individual component image, displaying the second collage withfewer component images on the display of the computer system, thedisplayed component images having a greater pixel resolution than theidentical pixel resolution.